Skip to content

qvac-lib-dl-hyperdrive-integration-test2#14

Merged
Proletter merged 1 commit into
mainfrom
qvac-lib-dl-hyperdrive-integration-test2
Jan 8, 2026
Merged

qvac-lib-dl-hyperdrive-integration-test2#14
Proletter merged 1 commit into
mainfrom
qvac-lib-dl-hyperdrive-integration-test2

Conversation

@Proletter

Copy link
Copy Markdown
Collaborator

No description provided.

@github-actions

github-actions Bot commented Jan 8, 2026

Copy link
Copy Markdown
Contributor

Requesting review from: @ignaciolarranaga [auto_pr_review_request]

@Proletter Proletter merged commit 111ba9c into main Jan 8, 2026
13 of 14 checks passed
@Proletter Proletter deleted the qvac-lib-dl-hyperdrive-integration-test2 branch January 8, 2026 15:44
pratiknarola-t added a commit that referenced this pull request May 28, 2026
…RV-Headers patch

The previous baseline 945210e5 shipped ports/ggml-speech/patches/
0001-ggml-vulkan-find-spirv-headers.patch authored against speech tip
c9126afc. PR #14's mul_mat_vec / Adreno guards (also on this test
branch) added a Qualcomm-gated 'liblog' link block between Vulkan
target_link_libraries and target_include_directories in
src/ggml-vulkan/CMakeLists.txt, breaking the patch's hunk-2 context.

Registry branch QVAC-19254-android-devicefarm-test was amended +
force-pushed with a regenerated patch whose hunk-2 context matches
the PR-#14 layout. Tree-SHA of ports/ggml-speech updates from
e941a423... -> 381370e3...; baseline.json + versions/g- updated to
match.

QVAC-19254
pratiknarola-t added a commit that referenced this pull request May 28, 2026
… Device Farm Adreno smoke

The Device Farm Chatterbox GPU smoke test (un-quarantined in the prior
commit) showed backendDevice=0 / backendId=0 (CPU) on Samsung S25 Ultra
+ Pixel 9 even with useGPU=true. Logcat traced it to the
ChatterboxModel::loadLocked() #ifdef __ANDROID__ block that
unconditionally forces useGpu=false before tts_cpp::chatterbox::Engine
is constructed -- so tts-cpp's init_gpu_backend (with PR #14 + PR #15
fixes) is never exercised on Android.

Lifting the guard on the test branch so the AWS Device Farm Adreno smoke
can validate the PR #14 (Vulkan-Adreno guards) and PR #15 (OpenCL
elementwise kernels) paths end-to-end. The symmetric SupertonicModel
guard stays in place (out of scope; Supertonic GPU smoke currently
passes via JS-layer rejection on the test's invalid model path).

[DO NOT MERGE] branch only.

QVAC-19254
pratiknarola-t added a commit that referenced this pull request May 28, 2026
…st branch + un-quarantine Adreno GPU smoke for Device Farm validation

Bumps the tts-ggml default-registry baseline to
tetherto/qvac-registry-vcpkg@945210e (QVAC-19254-android-devicefarm-test
branch), which pins:
  - ggml-speech port REF -> tetherto/qvac-ext-ggml@2bb83370 (combined
    test branch with PR #14 Vulkan-Adreno guards + PR #15 OpenCL
    elementwise kernels on top of speech tip c9126afc / v0.10.2)
  - tts-cpp port REF -> tetherto/qvac-ext-lib-whisper.cpp@afe2fd21
    (PR #35 head: Adreno backend tier policy)

Adds spirv-headers to the microsoft/vcpkg registry packages array so
ggml-speech's vulkan-feature dependency resolves (mirrors what
transcription-whispercpp already does for the whisper-cpp port).

Removes the Android short-circuit in the Chatterbox GPU smoke test so
the AWS Device Farm Adreno 740 pool actually exercises the GPU path.
Without the still-uncommitted ggml-opencl device_description fix, the
tts-cpp tier policy may pick Vulkan on Adreno; PR #14's Qualcomm-gated
guards are the safety net being validated in that path. PR #15's
OpenCL kernels are exercised only if the policy picks OpenCL.

Revert this branch once PR #14 / PR #15 / PR #35 land on their
respective default branches and a registry bump captures the merged
state.

QVAC-19254
pratiknarola-t added a commit that referenced this pull request May 28, 2026
…RV-Headers patch

The previous baseline 945210e5 shipped ports/ggml-speech/patches/
0001-ggml-vulkan-find-spirv-headers.patch authored against speech tip
c9126afc. PR #14's mul_mat_vec / Adreno guards (also on this test
branch) added a Qualcomm-gated 'liblog' link block between Vulkan
target_link_libraries and target_include_directories in
src/ggml-vulkan/CMakeLists.txt, breaking the patch's hunk-2 context.

Registry branch QVAC-19254-android-devicefarm-test was amended +
force-pushed with a regenerated patch whose hunk-2 context matches
the PR-#14 layout. Tree-SHA of ports/ggml-speech updates from
e941a423... -> 381370e3...; baseline.json + versions/g- updated to
match.

QVAC-19254
pratiknarola-t added a commit that referenced this pull request May 28, 2026
… Device Farm Adreno smoke

The Device Farm Chatterbox GPU smoke test (un-quarantined in the prior
commit) showed backendDevice=0 / backendId=0 (CPU) on Samsung S25 Ultra
+ Pixel 9 even with useGPU=true. Logcat traced it to the
ChatterboxModel::loadLocked() #ifdef __ANDROID__ block that
unconditionally forces useGpu=false before tts_cpp::chatterbox::Engine
is constructed -- so tts-cpp's init_gpu_backend (with PR #14 + PR #15
fixes) is never exercised on Android.

Lifting the guard on the test branch so the AWS Device Farm Adreno smoke
can validate the PR #14 (Vulkan-Adreno guards) and PR #15 (OpenCL
elementwise kernels) paths end-to-end. The symmetric SupertonicModel
guard stays in place (out of scope; Supertonic GPU smoke currently
passes via JS-layer rejection on the test's invalid model path).

[DO NOT MERGE] branch only.

QVAC-19254
pratiknarola-t added a commit that referenced this pull request May 28, 2026
…ve init_gpu_backend try-catch

Previous Device Farm run validated Samsung Galaxy S25 Ultra (Adreno 830)
end-to-end -- Chatterbox GPU smoke PASSED 3/3 with OpenCL backend
selected via PR #15 kernels. Google Pixel 9 Pro XL (Tensor G4 / Mali)
SIGABRT-crashed during Vulkan-on-Mali pipeline init (Mali outside the
Qualcomm-vendor gate that PR #14 covers).

Bumps the registry baseline to the test branch tip that pins tts-cpp
port REF to whisper.cpp@3613786b (PR #35 head + one defensive commit).
The new commit wraps ggml_backend_dev_init in try-catch inside
init_gpu_backend's try_init lambda so an unhandled C++ exception
thrown by an unsupported GPU's backend init no longer terminates the
host process -- the policy now falls through to the next bucket and
ultimately to CPU. Expected outcome on the next Device Farm run:
Pixel runs to completion (Chatterbox engine reports CPU); test still
asserts GPU on Android so the assertion fails cleanly without crash.

QVAC-19254
pratiknarola-t added a commit that referenced this pull request Jun 2, 2026
…p registry test-branch pin)

Replace the default-registry test-branch reference (QVAC-19254-android-devicefarm-test) with overlay-ports copied straight into the PR, so the exact tts-cpp / ggml-speech sources under test are visible here without the registry indirection (reviewer feedback). default-registry reverts to the production baseline 74d2dfd0 (no baseline advance).

tts-cpp overlay -> qvac-ext-lib-whisper.cpp PR #36 @ 5205428e; ggml-speech overlay -> qvac-ext-ggml PR #14 + #17 @ 2bb83370.
pratiknarola-t added a commit that referenced this pull request Jun 3, 2026
…st branch + un-quarantine Adreno GPU smoke for Device Farm validation

Bumps the tts-ggml default-registry baseline to
tetherto/qvac-registry-vcpkg@945210e (QVAC-19254-android-devicefarm-test
branch), which pins:
  - ggml-speech port REF -> tetherto/qvac-ext-ggml@2bb83370 (combined
    test branch with PR #14 Vulkan-Adreno guards + PR #15 OpenCL
    elementwise kernels on top of speech tip c9126afc / v0.10.2)
  - tts-cpp port REF -> tetherto/qvac-ext-lib-whisper.cpp@afe2fd21
    (PR #35 head: Adreno backend tier policy)

Adds spirv-headers to the microsoft/vcpkg registry packages array so
ggml-speech's vulkan-feature dependency resolves (mirrors what
transcription-whispercpp already does for the whisper-cpp port).

Removes the Android short-circuit in the Chatterbox GPU smoke test so
the AWS Device Farm Adreno 740 pool actually exercises the GPU path.
Without the still-uncommitted ggml-opencl device_description fix, the
tts-cpp tier policy may pick Vulkan on Adreno; PR #14's Qualcomm-gated
guards are the safety net being validated in that path. PR #15's
OpenCL kernels are exercised only if the policy picks OpenCL.

Revert this branch once PR #14 / PR #15 / PR #35 land on their
respective default branches and a registry bump captures the merged
state.

QVAC-19254
pratiknarola-t added a commit that referenced this pull request Jun 3, 2026
…RV-Headers patch

The previous baseline 945210e5 shipped ports/ggml-speech/patches/
0001-ggml-vulkan-find-spirv-headers.patch authored against speech tip
c9126afc. PR #14's mul_mat_vec / Adreno guards (also on this test
branch) added a Qualcomm-gated 'liblog' link block between Vulkan
target_link_libraries and target_include_directories in
src/ggml-vulkan/CMakeLists.txt, breaking the patch's hunk-2 context.

Registry branch QVAC-19254-android-devicefarm-test was amended +
force-pushed with a regenerated patch whose hunk-2 context matches
the PR-#14 layout. Tree-SHA of ports/ggml-speech updates from
e941a423... -> 381370e3...; baseline.json + versions/g- updated to
match.

QVAC-19254
pratiknarola-t added a commit that referenced this pull request Jun 3, 2026
… Device Farm Adreno smoke

The Device Farm Chatterbox GPU smoke test (un-quarantined in the prior
commit) showed backendDevice=0 / backendId=0 (CPU) on Samsung S25 Ultra
+ Pixel 9 even with useGPU=true. Logcat traced it to the
ChatterboxModel::loadLocked() #ifdef __ANDROID__ block that
unconditionally forces useGpu=false before tts_cpp::chatterbox::Engine
is constructed -- so tts-cpp's init_gpu_backend (with PR #14 + PR #15
fixes) is never exercised on Android.

Lifting the guard on the test branch so the AWS Device Farm Adreno smoke
can validate the PR #14 (Vulkan-Adreno guards) and PR #15 (OpenCL
elementwise kernels) paths end-to-end. The symmetric SupertonicModel
guard stays in place (out of scope; Supertonic GPU smoke currently
passes via JS-layer rejection on the test's invalid model path).

[DO NOT MERGE] branch only.

QVAC-19254
pratiknarola-t added a commit that referenced this pull request Jun 3, 2026
…p registry test-branch pin)

Replace the default-registry test-branch reference (QVAC-19254-android-devicefarm-test) with overlay-ports copied straight into the PR, so the exact tts-cpp / ggml-speech sources under test are visible here without the registry indirection (reviewer feedback). default-registry reverts to the production baseline 74d2dfd0 (no baseline advance).

tts-cpp overlay -> qvac-ext-lib-whisper.cpp PR #36 @ 5205428e; ggml-speech overlay -> qvac-ext-ggml PR #14 + #17 @ 2bb83370.
pratiknarola-t added a commit that referenced this pull request Jun 3, 2026
…(PR #17 review fixes)

Point the ggml-speech overlay-port at the PR #17 branch head (speech v0.10.2 sync + ggml-opencl elementwise kernels for Chatterbox S3Gen + the PR #17 review fixes). Note: this drops the PR #14 (ggml-vulkan Adreno 740 / Qualcomm) commits that the prior 2bb83370 pin carried.
pratiknarola-t added a commit that referenced this pull request Jun 3, 2026
…-only source

The overlay's 0001-ggml-vulkan-find-spirv-headers.patch was contexted against PR #14's ggml-vulkan/CMakeLists.txt change (the Android log-link block), so it did not apply on the PR #17-only source (8de98a43) -> the vulkan-feature build failed on Linux/Android/Windows. Re-context hunk 2 onto plain PR #17 (target_include_directories) so the spirv-headers build glue applies independently of PR #14. Verified with 'git apply --check' against 8de98a43.
pratiknarola-t added a commit that referenced this pull request Jun 8, 2026
…test

Overlay-pins ggml-speech to qvac-ext-ggml PR #14 (commit 8bf760f4 -- Adreno
Vulkan support + the Parakeet quantized-matmul fix) and forces the Parakeet
Android tests onto Vulkan, to validate on Device Farm (Samsung S25 Ultra /
Adreno + Pixel 9 / Mali) that Vulkan runs Parakeet correctly and nothing else
breaks. NOT for merge -- the overlay + GPU-guard removal are test-only.

- vcpkg-overlay-ports/ggml-speech: pinned to qvac-ext-ggml@8bf760f4; Android
  default-features drop OpenCL (Vulkan-only) so the loader has no OpenCL .so
  and the tier policy selects Vulkan on Adreno.
- vcpkg-configuration.json: register ./vcpkg-overlay-ports.
- vcpkg.json: Android parakeet-cpp features=["vulkan"] + default-features:false.
- ParakeetModel.cpp: remove the Android useGPU=false guard so useGPU=true
  reaches the engine.
- mobile-perf-runner.js: assert Android use_gpu runs select Vulkan (backendId=3).
pratiknarola-t added a commit that referenced this pull request Jun 8, 2026
…gml (9be02126)

Point the device-farm overlay at qvac-ext-ggml@QVAC-19214-mali-rca (9be02126 =
PR #14's 8bf760f4 + a ggml_abort->logcat diagnostic). The Vulkan backend's
GGML_ASSERT on Mali-G715 is otherwise invisible: bare drops native stderr and
the addon abort callback never fires for the dlopen'd backend (separate linker
namespace). This rebuilds ggml-speech from the instrumented commit so the next
Device-Farm Mali EOU crash logs the exact assert under logcat tag ggml_abort.
pratiknarola-t added a commit that referenced this pull request Jun 9, 2026
pratiknarola-t added a commit that referenced this pull request Jun 9, 2026
Validate the tts-cpp Adreno-Vulkan fixes (Supertonic + Chatterbox) on the AWS
Device Farm via overlay ports, before the upstream PRs merge:

- vcpkg-overlay-ports/ggml-speech -> qvac-ext-ggml PR #14 (e6578d01)
- vcpkg-overlay-ports/tts-cpp     -> qvac-ext-lib-whisper.cpp PR #41 (bc872dd7)
- both overlays drop the Android OpenCL default-feature, and vcpkg.json forces
  tts-cpp[vulkan] (default-features:false) on Android -> the Adreno run uses Vulkan
- ChatterboxModel: remove the Android useGPU=false force-CPU guard
- gpu-smoke.test.js: un-skip the Chatterbox Android GPU smoke and assert the
  Android backendId is Vulkan (3), not OpenCL (4) or CPU

DO NOT MERGE: device-farm validation vehicle only.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant